home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Software of the Month Club 2000 October
/
Software of the Month - Ultimate Collection Shareware 277.iso
/
pc
/
PROGRAMS
/
UTILITY
/
WINLINUX
/
DATA1.CAB
/
programs_-_usrdoc
/
SVGALIB-.{2E
/
LRMI-0.5M
/
MODE3.C
< prev
next >
Wrap
C/C++ Source or Header
|
1999-09-17
|
1KB
|
53 lines
/*
Set mode to VESA mode 3 (80x25 text mode)
*/
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <stdlib.h>
#include <sys/ioctl.h>
#include <sys/kd.h>
#include <sys/stat.h>
#include "lrmi.h"
void set_vesa_mode(int mode){
struct LRMI_regs r;
memset(&r, 0, sizeof(r));
r.eax = 0x4f02;
r.ebx = mode;
if (!LRMI_int(0x10, &r))
{
fprintf(stderr, "Can't set video mode (vm86 failure)\n");
}
}
int main(int argc, char *argv[]){
int i;
if((argc>1)&&(!strcmp(argv[1],"-h"))){
printf("Usage: mode3 [ modenum [ font ] ]\n"
"\n"
"uses VESA bios to set video mode to modenum (3 by default)\n"
"if font is given, uses setfont to change the screen font\n\n");
return 0;
};
if (!LRMI_init())
return 1;
ioperm(0, 0x400, 1);
iopl(3);
i=3;
if(argc>1){
sscanf(argv[1],"%i",&i);
if((i<=0))i=3;
};
set_vesa_mode(i);
if(argc>2){
execlp("setfont",argv[2],NULL);
return 1;
};
return 0;
}